Improve C++ standard library detection on Android
authorPo Lu <luangruo@yahoo.com>
Sun, 17 Mar 2024 11:32:15 +0000 (19:32 +0800)
committerPo Lu <luangruo@yahoo.com>
Sun, 17 Mar 2024 11:34:09 +0000 (19:34 +0800)
commit7a0f4de3c18cab43b5bff47fdab4944e006c68e4
tree4890695c9df02465a5ca16dab0b74750b44f7ae8
parent445e2499baa1b8ef21e8edcc13692b5d78912922
Improve C++ standard library detection on Android

* configure.ac: Stop relaying --with-ndk-cxx-shared to the
nested invocation of configure.

* build-aux/ndk-build-helper-1.mk (SYSTEM_LIBRARIES):

* build-aux/ndk-build-helper-2.mk (SYSTEM_LIBRARIES): Insert all
of the C++ libraries available on Android.

* configure.ac: Call ndk_LATE and ndk_LATE_EARLY within if
statement at toplevel, averting needless calls to AC_PROG_CXX.

* cross/ndk-build/Makefile.in (NDK_BUILD_CXX_STL)
(NDK_BUILD_CXX_LDFLAGS):

* cross/ndk-build/ndk-build.mk.in (NDK_BUILD_CXX_STL)
(NDK_BUILD_CXX_LDFLAGS): New variables.

* cross/ndk-build/ndk-resolve.mk (NDK_SYSTEM_LIBRARIES):
Introduce several other C++ libraries sometimes present on
Android.
(NDK_SO_EXTRA_FLAGS_$(LOCAL_MODULE)): Insert NDK_BUILD_CXX_STL
when any of these new C++ libraries are requested.

* m4/ndk-build.m4: Completely rewrite C++ compiler and library
detection.

* java/org/gnu/emacs/EmacsNative.java (EmacsNative): Attempt to
load more libraries from static initializer.

* java/INSTALL: Remove obsolete information.
build-aux/ndk-build-helper-1.mk
build-aux/ndk-build-helper-2.mk
configure.ac
cross/ndk-build/Makefile.in
cross/ndk-build/ndk-build.mk.in
cross/ndk-build/ndk-resolve.mk
java/INSTALL
java/org/gnu/emacs/EmacsNative.java
m4/ndk-build.m4